// 这个文件封axios
import axios from 'axios'
// 封装默认属性，配置基准路径
axios.defaults.baseURL = "http://127.0.0.1:3000"

// 配置token 我们得先有把token存到本地
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // console.log(config);
    // let token = JSON.parse(window.localStorage.getItem('toutiao')).data.token
    let token = window.localStorage.getItem('toutiao_token')
    // console.log(token);
    if (token) {   //增加一个一个判断，如果没有token就不要传token
        // if (JSON.parse(window.localStorage.getItem('toutiao')).data.token) {
        // 在发送请求之前做些什么，把token加到请求头上
        // console.log(config);
        config.headers.Authorization = token
        // config.headers.Authorization = JSON.parse(window.localStorage.getItem('toutiao')).data.token
    }
    // console.log(config);
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 响应拦截器
axios.interceptors.response.use(function (response) {
    // console.log(response);
    // 对响应数据做点什么
    if (response.data.statusCode == 401) {
        // 先把之前的响应过来的url获取 存到本地
        // window.localStorage.setItem('response_url', response.config.url)
        // console.log(window.location.hash);
        // window.location.href = '/#/login?back=-1'    //当请求返回401，用户没有登录，直接送回首页 加上参数返回-2
        window.location.href = `/#/login?redirectURL=${window.location.hash.substr(1)} `   //当请求返回401，用户没有登录，直接送回首页 加上参数返回-2
    }
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});

// 暴露
export default axios